In a cloud data center, multiple tenants (e.g., applications and information processing apparatuses) share the same network resources, and quality control among such multiple tenants is important. One of the quality control issues is to control possible congestion. Congestion control is standardized in, for example, IEEE802.1Qau Congestion Notification Draft 2.0 (hereinafter, referred to as IEEE802.1Qau).
FIG. 20 schematically illustrates congestion control in accordance with IEEE802.1Qau.
In FIG. 20, a server 101 is connected to an information processing apparatus (tenant) 105 via a switch 103. As indicated by the rightward thick-line arrow, the tenant 105 is transmitting packets to the server 101.
Under this state, upon an occurrence of a congestion in Layer 2, which is the lower layer, the switch 103 transmits a congestion notifying packet 161 to an information processing apparatus (tenant) 105, which is the transmission source node, as illustrated by the leftward white arrow in accordance with IEEE802.1Qau. This congestion notifying packet includes a target IP (Internet Protocol) address of a target whose output rate is to be controlled (hereinafter the address is referred to as a “target IP address”) and an L2 control rate. Hereinafter, a target IP addresses and an L2 control rates are collectively referred to as “congestion control information”. An L2 control rate is the upper limit of output rate from each transmission source node to a target IP address, and is calculated by the switch 103 to dissolve the congestion. Upon receipt of the congestion notifying packet 161, the transmission source node 105 control its output rate and consequently, the congestion abates.
Specifically, a transmission source node controls output rates by distinguishing an output queue of a flow that affects congestion from an output queue of a flow that does not affect the congestion and then controlling only the rate of the flow that affects the congestion and not controlling the rate of the flow that does not affect the congestion.
In the configuration of FIG. 20, upon an occurrence of a congestion in the communication traffic complying with Transmission Control Protocol communication, the TCP layer (Layer 4), which is the upper layer, performs congestion control independently of congestion control in Layer 2.
When packets having the same sequence number are received or expiration of the TCP retransmission timer is detected, TCP determines that congestion is occurring. In these case, an L4 processor 121 (see FIG. 22) controls the congestion by reducing a window size and thereby controlling an output rate. This congestion control is performed in unit of TCP session.
FIG. 21 is a diagram schematically illustrating control of a window size via TCP. When congestion occurs at time point t11, the Layer 4 (L4) processor 121 that is provided in the information processing apparatus 105 and that processes Layer 4 reduces the window sizes of TCP sessions #1 and #2. Then, when the congestion is dissolved at time point t12, the L4 processor 121 increases the window sizes of TCP sessions #1 and #2. When another congestion occurs at time point t13, the L4 processor 121 reduces the window sizes of TCP sessions #1 and #2.
As described above, upon an occurrence of a congestion under a state where the communication traffic complies with TCP and Layer 2 also performs the congestion control defined in IEEE802.1Qau, both Layer 2 and Layer 4 carryout congestion control as illustrated in FIG. 22. The congestion control of Layer 2 is performed independently of the congestion control of Layer 4.
FIGS. 22A and 22B are diagrams schematically illustrating congestion controls performed in Layer 2 and Layer 4 independently of each other. FIG. 22A depicts an output rate; and FIG. 22B depicts a congestion control.
As illustrated in FIG. 22B, the information processing apparatus 105 includes an Layer 2 (L2) processor 111 that processes Layer 2 and the L4 processor 121 that processes Layer 4.
When congestion occurs, the congestion of Layer 2 is detected first and a rate controller 117 of the L2 processor performs rate control. On the other hand, not having detected the congestion by that time, the L4 processor 121 does not start the congestion control yet.
For the above, a time delay as illustrated in the graph of FIG. 22A arises until the control of the output rate of Layer 4 after the start of congestion control of Layer 2. This causes Layer 4 to output packets from Layer 4 at a transmission rate higher than the communicable rate of L2 until the output rate of Layer 4 has been controlled. Consequently, packet loss of Layer 2 occurs.